﻿using System.Collections.Generic;
using CoreLibrary.Repo;
using IBBI.DataBase.Persistent;

namespace IBBI.DataBase {

    public interface ICategoryService : IRepository<Category> {

        Category GetRoot ();

        bool DeleteCategory (int catId);
        Category AppendCategory (int catId, Category catalogItem);
        bool InsertCategoryAfter(int catId, Category catalogItem);

        Category GetCategory (int catId);
        Category GetCategoryByName (string name);
        Category GetParentCategory (int catId);

        List<Category> GetPath (int catId);
        List<Category> GetChildren (int catId);
        List<Category> GetDescendants (int catId);

    }

}